package com.ice.pojo;



import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import net.minidev.json.annotate.JsonIgnore;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    @NotNull   //不能为空
    private Integer id;//主键ID
    private String username;//用户名
    // @JsonIgnore  // 让springmvc把当前对象转化位json字符串的时候忽略password,最终json字符串没有password这个属性啦
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY) //// 仅反序列化时接受，序列化时忽略
    private String password;//密码
    @NotEmpty  // 不能为空
    @Pattern(regexp = "^\\S{1,10}$")  //1-10非空字符
    private String nickname;//昵称
    @NotEmpty
    @Email  //符合email格式
    private String email;//邮箱
    private String userPic;//用户头像地址
    private LocalDateTime createTime;//创建时间
    private LocalDateTime updateTime;//更新时间
}
